package com.muyu.system.domain.model;

import com.muyu.common.core.annotation.Excel;
import com.muyu.system.domain.req.SysPostEditReq;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 岗位信息列表模型
 * @author: AoCi Tian
 * @create: 2025-02-23 19:31
 **/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class SysPostEditModel {
    private static final long serialVersionUID = 1L;

    /**
     * 岗位序号
     */
    @Excel(name = "岗位序号", cellType = Excel.ColumnType.NUMERIC)
    private Long postId;

    /**
     * 岗位编码
     */
    @Excel(name = "岗位编码")
    private String postCode;

    /**
     * 岗位名称
     */
    @Excel(name = "岗位名称")
    private String postName;

    /**
     * 岗位排序
     */
    @Excel(name = "岗位排序")
    private Integer postSort;

    /**
     * 状态（0正常 1停用）
     */
    @Excel(name = "状态", readConverterExp = "0=正常,1=停用")
    private String status;

    /**
     * 用户是否存在此岗位标识 默认不存在
     */
    @Builder.Default
    private boolean flag = false;

    /**
     * 创建者
     */
    private String updateBy;

    /**
     * 备注
     */
    private String remark;

    public static SysPostEditModel editBuild(SysPostEditReq sysPostEditReq) {
        return SysPostEditModel.builder()
                .postId(sysPostEditReq.getPostId())
                .postCode(sysPostEditReq.getPostCode())
                .postName(sysPostEditReq.getPostName())
                .postSort(sysPostEditReq.getPostSort())
                .status(sysPostEditReq.getStatus())
                .flag(sysPostEditReq.isFlag())
                .updateBy(sysPostEditReq.getUpdateBy())
                .remark(sysPostEditReq.getRemark())
                .build();
    }
}
